<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        // 不死神兔
        // 有一对兔子，从出生后第三个月起每个月都生一对兔子，
        // 小兔子长到第三个月后每个月又生一对兔子，
        // 假如兔子都不死，问第二十个月的兔子对数为多少？

        // 1  2  3  4  5  6...
        // 1  1  2  3  5  8...
        // 第6个月 第五个月的兔子 + 第四个月的兔子
        // 第n个月 (n-1)+(n-2)
        function tuzi(n) {
            if (n == 1 || n == 2) {
                return 1;
            }
            return tuzi(n - 1) + tuzi(n - 2);
        }
        console.log(tuzi(40));
        // 走台阶的问题   10个台阶
        // 每一次 可以走 1层或者2层, 问你走上 第10 层 有几种走法
        // 1  2  3  4  5  6  7
        // 1  2  3  5  8  13 ...
        // 第 3 层 = 上第一层的所有方法 + 上第二层所有的方法
        // 第 n 层 = (n - 2) + (n - 1)
        function topsd(n) {
            if (n == 1) {
                return 1;
            }
            if (n == 2) {
                return 2;
            } 
            return topsd(n - 1) + topsd(n - 2);
        }
        console.log(topsd(40));
    </script>
</body>

</html>